package com.zf.generic;

/**
 * 泛型类
 * 编译后泛型类型被擦除，只保留原始类型，泛型被替换为限定类型，没有限定时替换为java.lang.Object类型，
 * 但是会在用到 泛型 的地方会加入 类型检查 代码，检查是否为声明的泛型类型，这是编译器自动完成的
 */
public class TestGenericClazz<T extends CharSequence> {
    //泛型方法
    public static <T> void print(T a){
        System.out.println(a);
    }

    public T test(T a){
        return a;
    }
}
// 编译后的代码
//public class TestGenericClazz {
//    public static void print(Object a){
//        System.out.println(a);
//    }
//
//    public CharSequence test(CharSequence a){
//        return a;
//    }
//}
